package com.zzyl.task;


import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

@Slf4j
@Component
public class myTask {
//    private int count = 0;
    /**
     * fixedDelay 执行完上一次任务后 执行一次 间隔2000毫秒
     */
//    @Scheduled(fixedDelay = 2000)
//    public void task() throws InterruptedException {
//        count++;
//        System.out.println("执行定时任务");
//        log.info("" + new Date());
//        if (count == 3){
//            Thread.sleep(3000);
//        }
//    }

    /**
     * fixedRate 2秒钟执行一次 超过2秒没执行完 会进行补偿
     * @throws InterruptedException
     */
//    @Scheduled(fixedRate = 2000)
//    public void task() throws InterruptedException {
//        count++;
//        System.out.println("执行定时任务");
//        log.info("" + new Date());
//        if (count == 3){
//            Thread.sleep(3000);
//        }
//    }

    /**
     *cron 定时任务 每隔两秒执行一次 任务超过2秒 先执行完任务
     * @throws InterruptedException
     */
//    @Scheduled(cron = "0/2 * * * * ?")
//    public void task2() throws InterruptedException {
//        count++;
//        System.out.println("执行定时任务");
//        log.info("" + new Date());
//        if (count == 3){
//            Thread.sleep(3000);
//        }
//    }
}
